package com.spring.core.context;

import java.util.Map;

/**
 * 应用程序上下文
 *
 * @author Zee
 * @version 1.0
 * @date 2021/11/1
 */
public interface ApplicationContext {


    /**
     * 获取Bean对像
     *
     * @param key beanKey
     * @return Object
     */
    Object getBean(String key);

    <T> Map<String, T> getBeanOfType(Class<T> clazz);

    /**
     * 存放Bean
     */
    void putBean(String key, Object bean);

    /**
     * 初始化
     */
    void init();
}
